﻿<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
    <link href="favicon.svg" rel="Shortcut Icon" type="image/svg" />

    <title>netnrf响应式框架</title>

    <meta name="keywords" content="netnrf,netnrf响应式框架,响应式框架,Bootstrap后台框架" />
    <meta name="description" content="netnrf响应式框架,基于Ace Admin框架菜单导航,Bootstrap布局,fontAwesome图标,内嵌Iframe用EasyUI做数据绑定,动态配置列表,动态配置表单。" />

    <link href="https://code.bdstatic.com/npm/bootstrap@4.4.1/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://code.bdstatic.com/npm/netnrmd@2.2.2/src/netnrmd.css" rel="stylesheet">

</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col-12 my-4 markdown-body">
                <h1>更新日志</h1>

                <h3>[v3.1.2] - 2020-04-18</h3>
                <ul>
                    <li>调整 组件CDN源</li>
                    <li>调整 升级引用包</li>
                </ul>
                <h3>[v3.1.1] - 2019-12-22</h3>
                <ul>
                    <li>调整 数据库上下文改为连接池托管</li>
                    <li>调整 IP地址查询 改为 <code>IP2Region</code> 组件</li>
                </ul>
                <h3>[v3.1.0] - 2019-12-04</h3>
                <ul>
                    <li>调整 升级为 <code>.NET Core 3.1</code></li>
                    <li>添加 服务器信息 页面</li>
                </ul>
                <h3>[v3.0.1] - 2019-11-13</h3>
                <ul>
                    <li>调整 所有非页面请求规范化为接口，并用 swagger 生成可视化接口文档，<a href="https://rf2.netnr.com/swagger">https://rf2.netnr.com/swagger</a></li>
                </ul>
                <h3>[v3.0.0] - 2019-09-29</h3>
                <ul>
                    <li>调整 升级为<code>.NET Core 3.0</code></li>
                </ul>
                <h3>[v2.2.10] - 2019-07-23</h3>
                <ul>
                    <li>添加 <code>QueryWhere</code>针对<code>IEnumerable</code>条件查询的方法重载（支持部分查询关系符）</li>
                    <li>调整 表管理支持搜索（基于<code>IEnumerable</code>的查询，即内存搜索）</li>
                    <li>调整 日期时间组件，支持 <strong>placeholder</strong> 显示</li>
                    <li>修复 批处理切换方法<code>z.batchButtonSwitch</code>逻辑缺陷</li>
                    <li>添加 单据（主从表展示，如：采购订单，更多的组件支持须完善）</li>
                    <li>调整 表单组件传参调整，为兼容单据，即支持模态表单和页面切换单据的生成</li>
                    <li>调整 <code>z.js</code> 内部方法构造调整，解决了一些问题</li>
                    <li>调整 引入定时任务组件 <strong>FluentScheduler</strong></li>
                    <li>添加 自动生成单表增删改查代码（Controller、View、JavaScript）</li>
                </ul>
                <h3>[v2.2.9] - 2019-07-05</h3>
                <ul>
                    <li>修复 未将定时任务的服务添加到容器，导致定时任务未执行</li>
                </ul>
                <h3>[v2.2.8] - 2019-06-25</h3>
                <ul>
                    <li>添加 <code>数据字典</code></li>
                    <li>添加 表单嵌入富文本示例（基于 <code>CKEditor4</code>，图片支持粘贴、拖拽上传，大小限制 <strong>2MB</strong> ）</li>
                    <li>调整 z.Combo绑定，支持 <strong>placeholder</strong> 显示</li>
                </ul>
                <h3>[v2.2.7] - 2019-06-23</h3>
                <ul>
                    <li>修复 公共导出（js脚本问题）</li>
                    <li>添加 上传的示例（ajax上传，带上传真实进度条，表格显示格式化，查看文件，必填验证）</li>
                    <li>添加 批量操作示例（依赖 Z.EntityFramework.Extensions）</li>
                </ul>
                <h3>[v2.2.6] - 2019-06-14</h3>
                <ul>
                    <li>调整 输入输出实体对象名，为公共导出提供支持</li>
                    <li>调整 公共导出查询依赖查询，仅维护一处</li>
                    <li>调整 增删改统一返回格式，维护方法返回对象</li>
                    <li>调整 <code>appsettings.json</code> 配置文件设置键名 <code>TypeDB</code> 等于数据库类型</li>
                    <li>添加 <code>PostgreSQL</code>生成表配置、表信息查询的脚本</li>
                </ul>
                <h3>[v2.2.5] - 2019-06-10</h3>
                <ul>
                    <li>修复 在linux上导出、文件清理的路径问题</li>
                    <li>修复 内置参数可忽略日志记录的逻辑问题</li>
                    <li>修复 表单编辑，多选下拉列表值为空时赋值了一项空值的问题</li>
                    <li>添加 表配置新增项：表单<code>maxlength</code>属性</li>
                    <li>添加 表配置新增项：<code>查询条件关系符</code>配置，避免不支持的关系符查询出错</li>
                    <li>添加 Iframe页面<code>全屏</code>功能按钮</li>
                    <li>添加 低版本浏览器拦截提示页面</li>
                    <li>添加 下拉列表面板高度自适应</li>
                    <li>调整 DataGrid分页组件不显示调转页，启用快捷页码</li>
                    <li>调整 页面表单配置，拖拽排序的方式从节点交换改为节点插入</li>
                    <li>调整 窗口大小改变时从修改所有iframe标签高度改为仅修改当前iframe标签高度，切换时再触发</li>
                    <li>调整 为更好的自适应效果，iframe标签设置<code>scrolling="no"</code>，子页面有需要滚动条显示用<code>&lt;div class="bodyscroll"&gt;</code>包装，参考桌面页</li>
                </ul>
                <h3>[v2.2.4] - 2019-06-02</h3>
                <ul>
                    <li>添加 角色添加复制角色权限功能</li>
                    <li>添加 <code>公共导出</code>，自定义查询、条件、格式化</li>
                    <li>添加 定时任务，自动重置数据库、清理临时目录</li>
                    <li>添加 表格示例，快捷查询与查询面板共存；注意：启用快捷查询的条件在查询面板中需关闭，避免冲突</li>
                    <li>添加 表格示例，<code>批量删除</code>功能示例</li>
                    <li>调整  <code>批处理</code>功能按钮优化，批处理状态功能按钮自动切换</li>
                    <li>调整 查询面板 默认关系 从  <strong>等于</strong>  改为  <strong>包含</strong></li>
                </ul>
                <h3>[v2.2.3] - 2019-04-26</h3>
                <ul>
                    <li>调整 标签页添加控制菜单</li>
                    <li>调整 圆角调整为<code>1px</code></li>
                    <li>调整 <code>EasyUI</code>默认引用<code>metro</code>主题</li>
                    <li>调整 静态资源引入由局部视图统一维护</li>
                    <li>添加 日志表添加IP所属的城市，离线查询IP地址，基于免费的<code>ipip.ipdb</code></li>
                    <li><strong>据群发起投票结果，今后仅更新 <code>.NET Core</code> 版本，<code>.NET4</code> 停更</strong></li>
                </ul>
                <h3>[v2.2.2] - 2019-04-18</h3>
                <ul>
                    <li>调整 日志分批写入</li>
                </ul>
                <h3>[v2.2.1] - 2019-02-28</h3>
                <ul>
                    <li>调整 导出 Excel的 <code>NPOITo</code> 类，支持 <code>.xls</code>、<code>.xlsx</code>导出</li>
                    <li>调整 表格查询面板生成模式，基于表格列配置生成，支持多表格查询面板</li>
                    <li>移除 快捷键 <code>Ctrl + Q</code> 打开查询面板（因存在多个查询面板）</li>
                    <li>添加 表格列标题快捷打开定位条件查询面板</li>
                    <li>调整 首次运行项目，自动创建数据库、调重置数据库（<code>scripts/table-reset</code> 目录需有对应的数据库脚本）</li>
                    <li>修复 datetime日期时间输入类型查询面板赋值存在的问题（没阻止冒泡，先结束编辑再赋值造成赋值失败）</li>
                    <li>调整 <code>Netnr.Core</code> 类库项目从NuGet引入，新增 <code>Netnr.Fast</code> 项目，具体看 <a href="https://github.com/netnr/Netnr.ClassLibrary">https://github.com/netnr/Netnr.ClassLibrary</a></li>
                    <li>调整 支持多表单生成（页面的表单、表格配置默认第一个，暂不支持多表单、表格配置）</li>
                </ul>
                <h3>[v2.2.0] - 2019-01-17</h3>
                <ul>
                    <li>调整 Grid行数可选列表,可选200行</li>
                    <li>修复 多个Grid传参有干扰的问题,修复方式为先清空 <code>queryparams</code> 对象</li>
                    <li>调整 去除日期时间插件 <code>bootstrap-datetimepicker</code>  改为 <code>EasyUI</code> 提供曰期时间组件，减少两次请求</li>
                    <li>添加 Modal弹出窗设置 <code>autorefresh</code> 属性，每次打开 <code>iframe</code> 自动刷新</li>
                    <li>调整 Moda1弹出窗默认为全屏弹窗</li>
                    <li>调整 表单必填项提示改为红星</li>
                    <li>添加 中文语言包</li>
                    <li>修复 页面嵌套大于两层出现样式不一样的问题,修复方式为把 <code>parent</code> 对象改成 <code>top</code></li>
                    <li>调整 <code>init.css</code> 样式包嵌入 <code>z.css</code></li>
                    <li>调整 <code>easel-custom.css</code> 调整的样式嵌入 <code>z.css</code> ,页面直接引入原有包 <code>easyul.css</code></li>
                    <li>调整 表配置隐藏添加系统级隐藏</li>
                    <li>调整 Grid行号宽度自适应</li>
                    <li>修复 切换用户菜单异常的问题，菜单缓存问题，去除了菜单缓存</li>
                    <li>添加 表管理导出 <code>Excel</code></li>
                    <li>调整 数据库表字段命名，减少关联查询出现重复列的一些问题</li>
                    <li>调整 演示项目数据库从 <code>MySQL</code> 迁移到 <code>SQLServer</code>,无其他原因，主要是自己用着顺手些</li>
                    <li>调整 查询面板默认关系符为 “等于”，支持快捷键 <code>Ctrl + Q</code> 打开查询面板、 <code>Enter</code> 确认搜索</li>
                </ul>
                <h3>[v2.1.2] - 2018-11-09</h3>
                <ul>
                    <li>增加 <code>.NET Framework 4.5</code>框架源代码，同步更新Core版本</li>
                </ul>
                <h3>[v2.1.2] - 2018-11-01</h3>
                <ul>
                    <li>修复 <code>DataGrid</code>执行<code>updateRow</code>更新有翻页时行号有问题（没设置pageNumber的原因）</li>
                    <li>调整 公共查询的一些操作</li>
                </ul>
                <h3>[v2.1.2] - 2018-10-27</h3>
                <ul>
                    <li>添加 <code>按钮管理</code>功能</li>
                    <li>添加 <code>菜单管理</code>功能</li>
                    <li>添加 <code>授权关联</code>功能（支持第三方登录）</li>
                    <li>添加 <code>z.Combo</code>方法添加清除值按钮支持</li>
                    <li>添加 <code>PostgreSQL</code>数据库支持</li>
                    <li>调整 <code>Linq</code>查询，可不传排序列，即默认排序</li>
                    <li>调整 选项卡右侧仅为刷新按钮</li>
                </ul>
                <h3>[v2.1.1] - 2018-10-13</h3>
                <ul>
                    <li>修复 方法<code>z.FindTreeNode</code>存在的问题</li>
                    <li>修复 方法<code>z.FormEdit</code>存在的问题</li>
                    <li>修复 <code>Linq</code>查询先分页后排序的问题</li>
                    <li>修复 系统操作日志，<code>IP</code>获取始终为<code>127.0.0.1</code>的问题，原因是<code>nginx</code>代理，需要判断代理环境</li>
                </ul>
                <h3>[v2.1.0]　2018-10</h3>
                <ul>
                    <li>添加 跨平台跨数据库支持，<a href="https://github.com/aspnet/EntityFrameworkCore">https://github.com/aspnet/EntityFrameworkCore</a> ，已测试<code>SQLite</code>、<code>MySql</code>、<code>SQLServer</code></li>
                    <li>生成实体依赖于<code>Scaffold-DbContext</code>命令 <a href="https://www.netnr.com/gist/code/5283651389582691979">https://www.netnr.com/gist/code/5283651389582691979</a></li>
                    <li>调整 公共查询从SQL语句改为Linq</li>
                    <li>修复 <code>z.js</code>若干问题</li>
                    <li>添加 表管理工具，生成表配置、表字典</li>
                    <li>调整 演示项目调整，从<code>SQLServer</code>改为<code>MySql</code>，服务器迁移国外搬瓦工（Centos7、Nginx、MySql、CN2线路）</li>
                </ul>
                <hr>
                <ul>
                    <li>
                        顺便说一下这段时间的体会，一直用<code>Windows</code>服务器，接触<code>Linux</code>后，认为<code>Linux</code>做服务器是挺好的，已打算全部迁移至<code>Linux</code>服务器。
                        <ul>
                            <li><code>Linux</code>服务器便宜，相对而言</li>
                            <li>国外的<code>VPS</code>大多限流量不限速度（比如1G的带宽，每月1T的流量），当然线路也重要，不然延迟掉包严重</li>
                            <li>不用备案、可以搭梯子翻墙</li>
                            <li><code>Linux</code>开机占用<code>100</code>MB左右，跑个<code>dotnet</code>进程也才<code>300</code>MB左右</li>
                            <li><code>.net framework</code>的项目也能跑哦，<code>mono</code> 、<a href="https://www.jexus.org/">jexus</a></li>
                            <li><code>SQLServer</code>数据库已经有<code>Linux</code>版本，当然也可以改为<code>MySql</code></li>
                            <li>
                                上手<code>Linux</code>服务器，一脸懵逼，什么都不知道不知从何下手，怎么办，你说怎么办，凉拌，网上有大把的教程，弄懂一个算一个；这里提供一些我用到的东西：
                                <ul>
                                    <li>ssh命令连接服务器</li>
                                    <li>安装环境：<code>dotnet</code>、<code>nginx</code>、<code>ftp</code>、<code>mysql</code>、<code>frp</code>（微信开发）、<code>shadowsocks</code>（翻墙）</li>
                                    <li>学习<code>vi</code>编辑器，学习<code>dotnet</code>命令，学习<code>nginx</code>配置</li>
                                    <li>存的一些干货 <a href="https://www.netnr.com/gist/user/1">https://www.netnr.com/gist/user/1</a></li>
                                </ul>
                            </li>
                        </ul>
                    </li>
                </ul>
                <h3>[v2.0.0] - 2018-07</h3>
                <ul>
                    <li>前端采用 jQuery + Bootstrap + EasyUI + AceAdmin</li>
                    <li>后端采用 Asp.Net Core + EF + SQLServer</li>
                    <li>全新重写 <code>z.js</code> 脚本包，与EasyUI提供的API高度保持一致（最大调整）</li>
                    <li>重写iframe选项卡</li>
                    <li>精简ace导航</li>
                </ul>
            </div>
        </div>
    </div>
</body>
</html>